Logo
Published on

ESP8266 untuk Pemula

Authors
  • avatar
    Name
    Firman MNA
    Twitter
ESP8266

Kalau kamu baru mau mulai ngulik project elektronik yang bisa nyambung ke internet, kemungkinan besar nama pertama yang bakal sering kamu dengar adalah ESP8266. Dari pengalaman saya waktu awal-awal belajar merakit perangkat pintar, modul ini benar-benar jadi penyelamat dan pembuka jalan. Dulu, bikin perangkat seperti Arduino supaya bisa konek ke Wi-Fi itu ribet dan butuh biaya yang nggak sedikit. Kita harus beli modul tambahan yang harganya kadang jauh lebih mahal dari papan mikrokontrolernya itu sendiri.

Lalu tiba-tiba ESP8266 muncul meramaikan pasar perangkat keras dengan harga yang sangat murah. Awalnya memang banyak yang bingung cara pakainya, tapi karena saking murah dan potensialnya, komunitas di seluruh dunia langsung turun tangan mengulik alat ini. Sekarang, ESP8266 sudah jadi semacam standar wajib buat siapa saja yang mau belajar Internet of Things dari nol.

Apa itu ESP8266

Secara sederhana, ESP8266 adalah sebuah mikrokontroler buatan perusahaan Espressif Systems yang sudah dibekali dengan fitur Wi-Fi di dalam chipnya. Pada awalnya, modul ini dipasarkan cuma sebagai "jembatan" Wi-Fi untuk mikrokontroler lain seperti Arduino. Cara pakainya dulu menggunakan perintah AT Command yang cukup merepotkan.

Tapi kemudian komunitas menemukan bahwa chip ini sebenarnya sangat pintar dan bisa diprogram sendiri mirip dengan program Arduino. ESP8266 itu sendiri adalah otaknya. Kamu bisa memprogram modul ini layaknya memprogram Arduino biasa.

Menurut saya, pemahaman dasar ini penting banget buat pemula. Sering kali orang mikir mereka tetap butuh beli Arduino Uno, lalu ditambah modul ESP8266 untuk bikin project. Padahal, untuk mayoritas project sederhana, kamu cuma butuh ESP8266 saja. Chip ini sudah bisa digunakan untuk membaca data dari sensor, mengontrol saklar relay untuk menyalakan lampu, dan langsung mengirimkan datanya ke server atau aplikasi di HP kamu.

Kenapa ESP8266 masih banyak digunakan

Mungkin kamu bakal mikir, chip ini kan sudah rilis sekitar tahun 2014, umurnya sudah lumayan tua untuk ukuran teknologi. Kenapa sampai sekarang masih banyak yang jual dan pakai? Jawabannya sebenarnya cukup praktis: harganya luar biasa murah dan dukungan komunitasnya belum ada yang ngalahin.

Biasanya, kalau kita stuck atau dapat pesan error merah panjang pas lagi bikin kodingan pakai ESP8266, kita tinggal copy paste error tersebut di Google, dan hampir pasti ada orang di forum yang pernah ngalamin masalah persis seperti itu lima tahun yang lalu, lengkap dengan solusinya. Ini yang bikin ESP8266 sangat ramah buat orang yang baru belajar ngoding hardware.

Selain itu, karena usianya yang sudah matang, library atau kode bantuan yang dibuat oleh komunitas untuk alat ini udah sangat stabil. Mau bikin alat yang bisa kirim notifikasi ke Telegram? Ada library-nya. Mau bikin web server lokal di rumah buat kontrol kipas angin? Gampang banget. Selama project kamu nggak butuh pemrosesan data yang rumit, perhitungan matematika tingkat tinggi, atau keamanan tingkat industri, alat kecil ini masih sangat bisa diandalkan.

Spesifikasi utama

Biar ada bayangan soal kemampuannya, mari kita lihat sedikit bagian dalamnya. Nggak usah terlalu pusing sama deretan angka-angkanya, yang penting kamu tahu gambaran besarnya.

ESP8266 ditenagai oleh prosesor 32-bit RISC Tensilica Xtensa L106. Prosesor ini biasanya berjalan di kecepatan 80 MHz, tapi gampang banget kalau mau diatur biar lari di 160 MHz. Kalau dibandingin sama Arduino Uno standar yang cuma pakai arsitektur 8-bit dengan kecepatan 16 MHz, ESP8266 ini ibaratnya jauh lebih ngebut untuk mengeksekusi baris kode.

Untuk memori RAM, dia punya kapasitas sekitar 32 KB untuk instruksi dan 80 KB untuk menyimpan data variabel saat program berjalan. Penyimpanan utamanya atau flash memory (tempat di mana kodemu disimpan secara permanen) biasanya berkisar antara 512 KB sampai 4 MB, tergantung dari produsen pembuat board yang kamu beli. Dari pengalaman saya, kalau kamu pakai varian 4 MB, itu udah lebih dari cukup untuk nyimpen program yang lumayan panjang, ditambah beberapa file gambar atau halaman web HTML (spiffs).

Untuk konektivitas, dia mengandalkan jaringan Wi-Fi 2.4 GHz. Nah, ini poin penting yang sering bikin pemula bingung. ESP8266 cuma bisa baca sinyal 2.4 GHz. Jadi kalau router internet di rumah kamu disetting khusus untuk memancarkan sinyal 5 GHz saja, board ini nggak bakal bisa mendeteksi apalagi menyambung ke jaringan tersebut.

Kelebihan dan kekurangan

Setiap komponen elektronik pasti ada sisi plus minusnya. Menurut saya pribadi, kelebihan paling mencolok dari ESP8266 adalah perbandingan antara harga dan fitur yang didapat. Kamu bisa punya perangkat pintar yang terhubung ke jaringan lokal atau internet global hanya dengan dana yang setara dengan harga nasi goreng. Modul ini juga sepenuhnya didukung oleh Arduino IDE, jadi kalau kamu sebelumnya udah terbiasa mainan Arduino, transisinya bakal terasa sangat natural tanpa perlu belajar bahasa pemrograman yang baru dari awal.

Tapi, kekurangannya juga lumayan terasa kalau project kamu mulai berkembang jadi lebih rumit. Pertama, jumlah pin GPIO (pin colokan untuk menyambung ke sensor atau lampu) itu sangat terbatas. Kamu nggak bisa asal pasang belasan komponen langsung ke board ini tanpa strategi tambahan.

Kedua, dia cuma punya satu buah pin analog (ADC). Pin analog ini gunanya untuk membaca sensor yang nilainya bervariasi, seperti sensor kelembaban tanah atau sensor cahaya. Batas tegangannya pun cuma sampai 1 volt di level chipnya.

Satu hal lagi yang sering bikin sakit kepala adalah urusan manajemen daya listrik. ESP8266 ini butuh arus daya yang lumayan besar dan stabil, apalagi pas dia lagi usaha nyari sinyal Wi-Fi. Kadang kalau adaptor atau kabel USB yang kamu pakai kualitasnya kurang bagus, daya yang masuk nggak stabil, dan boardnya bakal sering restart sendiri (biasa disebut brownout).

Perbedaan dengan ESP32

Kalau kamu cari-cari info soal ESP8266, pasti nggak lama kemudian algoritma bakal nyodorin kamu tentang ESP32. ESP32 ini ibarat kakak kelasnya yang lebih kuat. Kalau performa ESP8266 dirasa mulai ngos-ngosan buat ngerjain projectmu, orang biasanya langsung menyarankan buat beralih ke ESP32.

ESP32 menggunakan prosesor dengan dua inti (dual-core), jadi dia bisa mengerjakan dua pekerjaan berbeda secara bersamaan dengan jauh lebih efisien. Kapasitas memorinya jauh lebih besar, jumlah colokan pin-nya melimpah, pin analognya banyak, dan yang paling membedakan: dia sudah dilengkapi dengan Bluetooth bawaan.

Terus, pertanyaannya, kenapa nggak langsung aja dari awal kita beli ESP32 dan lupakan ESP8266? Balik lagi ke masalah kebutuhan teknis dan budget. Memang selisih harganya sekarang nggak terlalu jauh. Tapi buat project simpel kayak bikin bel pintu yang ngirim notifikasi ke HP, atau cuma buat nyalain pompa air otomatis, pakai ESP32 itu agak overkill alias mubazir tenaga. Selain itu, beberapa model ESP8266 punya ukuran fisik yang jauh lebih kecil, sehingga gampang disembunyikan di dalam kotak project berukuran mungil.

Contoh project sederhana

Biar teori yang dibahas nggak cuma ngambang, mari kita lihat sedikit contoh praktiknya. Di dunia mikrokontroler, project paling pertama yang wajib dicoba itu biasanya bikin lampu LED kelap-kelip. Tapi karena kita punya modul canggih dengan fitur Wi-Fi, kita akan bikin modulnya kelap-kelip sambil mencoba nyambung ke internet rumah kamu.

Di bawah ini adalah contoh kode bahasa C++ yang biasa diketik di aplikasi Arduino IDE. Kodenya cukup pendek dan sengaja dibuat sangat dasar.

#include <ESP8266WiFi.h>

// Ganti bagian ini sesuai dengan nama dan password Wi-Fi di rumah kamu
const char* nama_wifi = "WiFi_Rumahku";
const char* password_wifi = "Rahasia123";

// LED_BUILTIN adalah lampu LED biru kecil yang udah nempel di board
int pinLampu = LED_BUILTIN; 

void setup() {
  // Memulai komunikasi biar kita bisa baca teks di layar komputer
  Serial.begin(115200);
  pinMode(pinLampu, OUTPUT);
  delay(100);

  Serial.println();
  Serial.print("Mulai menyambungkan ke: ");
  Serial.println(nama_wifi);

  // Memerintahkan chip untuk mulai konek ke jaringan
  WiFi.begin(nama_wifi, password_wifi);

  // Bagian ini akan mengulang terus sampai Wi-Fi benar-benar nyambung
  // Sambil nunggu, kita bikin lampunya kelap-kelip
  while (WiFi.status() != WL_CONNECTED) {
    digitalWrite(pinLampu, LOW); // Lampu nyala
    delay(250);
    digitalWrite(pinLampu, HIGH); // Lampu mati
    delay(250);
    Serial.print(".");
  }

  // Kalau sudah lolos dari loop di atas, berarti sudah konek
  digitalWrite(pinLampu, LOW); // Biarkan lampu menyala terus
  Serial.println();
  Serial.println("Hore! Wi-Fi berhasil tersambung.");
  Serial.print("Alamat IP lokal kamu adalah: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  // Untuk contoh ini, bagian program utama sengaja dibiarkan kosong
  // Nanti kamu bisa nambahin kode untuk baca sensor di sini
}

Dari barisan kode tersebut, kamu bisa lihat kalau cara pakainya identik dengan Arduino. Kita cuma perlu memanggil library ESP8266WiFi.h supaya mikrokontrolernya tahu cara ngobrol dengan router internet.

Tips sebelum membeli

Kalau kamu ngerasa tertarik dan baru pertama kali mau belanja komponen ini di marketplace, ada satu saran penting: jangan langsung beli chip ESP8266 yang polosan (tipe ini biasanya kodenya ESP-01, bentuknya kecil hitam tanpa colokan kabel). Memang secara harga itu yang paling murah, tapi cara nyoloknya ke komputer buat diprogram itu ribet banget buat pemula. Kamu butuh modul konverter tambahan dan harus cabut-pasang kabel khusus tiap kali mau ngisi program.

ESP8266

Dari pengalaman saya, jauh lebih baik kalau kamu beli varian "development board" yang sudah dirakit lengkap. Dua varian yang paling saya rekomendasikan adalah NodeMCU v3 atau Wemos D1 Mini. Di board jenis ini sudah disediakan colokan kabel data (biasanya micro USB atau Type-C), dan juga sudah ada komponen pengaman tegangannya. Jadi kamu tinggal ambil kabel bekas casan HP, colok dari komputer langsung ke board, dan bisa langsung ngetik kode.

Satu lagi yang sangat sering terjadi pada pemula: pastikan kabel USB yang kamu pakai adalah kabel yang punya jalur data. Sering banget kejadian di mana orang udah putus asa nyari error seharian gara-gara komputernya nggak mau ngebaca alat ini, padahal masalahnya sepele, dia pakai kabel casan kipas angin portable yang isinya cuma kabel power saja. Selain itu, kamu mungkin butuh menginstal driver CH340 atau CP2102 di komputermu supaya perangkat ini bisa terdeteksi, tapi proses instalasi driver ini biasanya cuma butuh satu kali seumur hidup di komputermu.

Kesimpulan

Intinya, ESP8266 adalah pintu gerbang paling enak dan ramah dompet buat masuk ke dunia Internet of Things. Modul ini murah meriah, sangat tangguh untuk menjalankan tugas-tugas ringan sehari-hari, dan punya dukungan komunitas yang hampir tidak ada batasnya.

Walaupun belakangan ini sudah banyak sekali rilis mikrokontroler baru yang teknologinya jauh lebih canggih, ESP8266 menurut saya masih punya tempat khusus di meja kerja para pembuat alat elektronik. Mulailah dari project yang sederhana dulu seperti menyalakan lampu dari HP, nikmati aja proses trial and error-nya, dan pelan-pelan kamu pasti bisa merancang sistem pintar untuk membantu rutinitas di kamarmu sendiri.